<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script>
        /*
        在传递给函数之前，nums 在预先未知的某个下标 k（0 <= k < nums.length）
        上进行了旋转，使数组变为 [nums[k], nums[k+1], ..., nums[n-1], nums[0], nums[1], ..., nums[k-1]]
        （下标从0开始计数）例如，
        [0,1,2,4,5,6,7] 在下标 3 处经旋转后可能变为 [4,5,6,7,0,1,2] 。
        给你旋转后的数组nums和一个整数target
        如果 nums 中存在这个目标值 target ，则返回它的下标，否则返回 -1 。
        */
        var search = function (nums, target) {
            let left = 0;
            if (nums.length == 1) {
                if (nums[left] == target) {
                    console.log(1);
                    return left;
                } else {
                    console.log(2);
                    return -1;
                }
            }
            let right = nums.length - 1;
            while (left < right) {
                // 左闭右开
                let mid = parseInt(left + (right - left) / 2);
                if (nums[mid] < target) {
                    left = mid + 1;
                } else if (nums[mid] == target) {
                    return mid;
                } else {
                    right = mid;
                }
            }
            return -1;

        };
        console.log(search([4, 5, 6, 7, 0, 1, 2], 0));
    </script>
</head>

<body>

</body>

</html>